home *** CD-ROM | disk | FTP | other *** search
- ┌─────────────────────────────────────────────────────────────────────────────┐
- │ WHATSNEW.DOC │
- └─────────────────────────────────────────────────────────────────────────────┘
-
-
- Version 2.13
- -------------------------------------------------------------------------------
- 46. If you were using the MHS_DEFAULT_HOST option in XGATE.CFG to tell XGATE
- to use the name of your workgroup for inbound SMTP messages that don't
- specify the name of the destination MHS hub, it should no longer be
- necessary. A long time ago I inadvertently started using the local MHS
- hub name instead of the workgroup name in NETDIR.TAB, which is now fixed.
-
- 47. Made a final correction to native SMF-71 support. XGATE now properly
- handles messages written in its mv\MHS\MAIL\GATES\name\OUT directory that
- have an SMF-71 envelope.
-
- 48. Scanning for the vector that the installed FTP kernel is using is now
- done before XGATE tries to load XSMTP. If the FTP kernel isn't found,
- XGATE will not try to load XSMTP. If you are using Charon as the SMTP
- server, it is now not necessary to rename or delete XSMTP.BIN so that
- XGATE doesn't try to load it.
-
- 41. Added a new XGATE.CFG file option called RESOLVE_MINUTES=nn. If this
- variable is set, XSMTP will return outbound SMTP messages that fail to
- resolve the host name after the specified number of minutes have expired.
- If a relay host is defined, this option will probably have no effect
- since the next cycle will pass the unresolved message to the relay.
-
- If XSMTP has the same level of reliability in reaching the Internet that
- your relay host does, this change should make XSMTP cleaner about returning
- delivery errors to your users (than a Unix box usually is) if you're
- inclined to disable the relay host.
-
- 42. Now uses different format in the client record area of outbound SMTP queue
- jobs - BE SURE THE OUTBOUND SMTP QUEUE IS EMPTY before installing this
- version of XGATE.
-
- 43. You can now locally define some SMTP host names in a file called "HOSTS"
- (such as nicknames/shortnames for commonly used hosts). The format of the
- HOSTS file follows the normal syntax, use one line for each host beginning
- with its IP address. For example:
-
- 129.194.30.5 ns-nic
- 128.9.0.107 isi a.isi.edu
-
-
- As indicated, more than one name can be given for a host. Comments can
- be used by preceding them with a semi-colon or pound sign.
-
- The contents of the HOSTS file are read at startup and held in memory,
- so don't get too carried away with adding a lot of names. Changes to the
- HOSTS file won't take effect until XGATE is restarted. When resolving a
- host name, XSMTP first scans the cached image of the HOSTS file. If the
- entry is resolved, the name lookup immediately terminates - otherwise
- the list of name servers is used as before.
-
- 44. This doesn't have much to do with E-Mail, but I couldn't resist....
- XSMTP now responds to name server queries. Previously it used to ignore
- them. If XSMTP receives a name server query, it immediately scans the
- cached image of the HOSTS file and sends a reply if the name is found.
- If the name isn't resolved by the HOSTS file, although this is unorthodox,
- XSMTP immediately rebroadcasts the query to all name servers defined and
- logs the request in a working table. As soon as one of the name servers
- provides a positive reply, XSMTP relays the response back to the requesting
- station and closes out the active request. If a late reply comes in from
- one of the other name servers, it is discarded. XSMTP will timeout active
- requests if a positive response isn't received within 20 seconds.
-
- XSMTP performs this service asynchronously as a background task. It is
- a very high performance solution to simplify and expedite name server
- lookup's for client workstations. Workstation name server configurations
- can be reduced to sending just one query to XGATE and still have the
- benefity of being able to resolve names using all the name servers XSMTP
- knows about, in a parallel fashion rather than one by one....
-
-
- Version 2.14
- -------------------------------------------------------------------------------
- 45. The XGATE.CFG option "append_ascii_atch" was renamed to
- "append_ascii_attach" in order to be consistent with other options
- involving file attachments.
-
- 46. Fixed a problem induced by Ver 2.13 where XSMTP might contaminate the
- undeliverable hours accumulated against a message, which could result
- in a lot of redundant warning messages going back to the sender.
-
-
- Version 2.15
- -------------------------------------------------------------------------------
- 47. XGATE now reacts differently to the "Sender:" field versus the "From:"
- field when parsing an MHS message. Previously XGATE was just taking
- the Sender: field and calling it the From: field when building outbound
- SMTP messages. This worked ok until NGM started building distribution
- lists with the Sender: field formated with where errors should go, and
- the From: field with who sent the message. Now, the two fields are built
- separately in the outbound SMTP message, based on their individual values.
- Inversely, when parsing an SMTP message, XGATE has always handled the two
- fields separately.
-
- 48. When sending a copy of a delivery error that was generated by "-Maiser-"
- to the administrator, XGATE now builds the Reply-To: address of that
- message with the sending SMTP user's address. Depending on whether your
- MHS E-Mail application handles the Reply-To: field, this can make it a
- lot easier for you the administrator to reply back to the sender with
- some type of help message.
-
-
- Version 2.16
- -------------------------------------------------------------------------------
- 49. Changed the connect timeout logic to use the internal FTP Kernel timeout
- rather than XSMTP keeping track of the time expired. Actually, what
- happens now is that the connect timeout (specified in XGATE.CFG) is used
- to set the error timeout for each net descriptor opened with the FTP
- kernel, so don't set it too low! (Specifying a connect timeout below
- 5 in XGATE.CFG now results in 5 seconds being used.)
-
- 50. When the inactivity timeout expires in the XSMTP monitor, or when the
- monitor is exited with a keyboard command, any filter that was active
- is now reset.
-
- 51. If XGATE is run with NGM 2.0, it will write inbound MHS messages into
- the mv\MHS\MAIL\GATES\gw_name\IN directory instead of mv\MHS\MAIL\SND.
- This should remove the need to disable sender validation under NGM
- (if it was only turned off to get XGATE working).
-
-
- Version 2.17
- -------------------------------------------------------------------------------
- 52. If XGATE is run with the -s switch, it no longer allocates the memory
- buffers that are used to do MHS message conversion.
-
- 53. When listen sockets are recycled by XSMTP (occurs after 30 minutes of
- not receiving a listen connection), the event is no longer logged in
- the scroll-back buffer.
-
- 54. A small activity wheel is now displayed in the lower right corner of
- XSMTP's monitor when no other flags are active (i.e. scroll-back or
- filtering). The reason why is so some indication of a heartbeat can
- be seen if running with the -S (SMTP only) switch, and also so I could
- tell if/when the TCP/IP transport kernel ever blocks the system for
- lengthy periods.
-
-
- Version 3.00
- -------------------------------------------------------------------------------
- 55. XGATE and XSETUP executables are now .EXE files. Make sure you delete
- XGATE.COM and XSETUP.COM.
-
- 56. XGATE and XSETUP now use encrypted password calls if running on NetWare
- 3.x or higher. If you had enabled unencrypted passwords just to run
- XGATE, and wish to no longer allow them - you can now turn them off.
-
- 57. After trying to do a version of XGATE that supported LAN WorkPlace, and
- then giving up cause it wouldn't run reliably for any period of time, and
- then ordering Wollongong's PathWay SDK only to find they don't support
- asynchronous calls, I finally gave up on using a 3rd party TCP/IP driver
- and sat down to write our own - that was two months ago....
-
- The new TCP/IP protocol stack (tenatively named Mach 2) is pure high
- performance (totally in assembler like XGATE and XSMTP) but it was also
- developed for long-term stability. It loads automatically when you run
- XGATE, so there's nothing to load beforehand. The stack runs directly
- on top of either Novell ODI drivers or Clarkson Packet Drivers (or both
- if so desired).
-
- There isn't much to using it instead of the FTP kernel, just stop
- loading ETHRDRVR before running XGATE, and make appropriate changes to
- the new BIND and ROUTE commands at the end of XGATE.CFG.
-
- Using ODI drivers is slightly preferred over Packet Drivers because
- Novell's ECBs (Event Control Blocks) can receive packets fragmented
- across multiple buffers (which the stack takes full advantage of to
- manage memory buffers efficiently). When run with a Packet Driver,
- the stack emulates the use of ECB's - but still can't make the driver
- read a packet into non-contiguous buffers.
-
- We'll probably release more applications for use with the stack soon,
- and also release the stack itself as a kernel for in-house TCP/IP
- development. There's a few new menu options that have been added under
- XSMTP's monitor to go along with the new stack (a number of tables can
- be viewed, a new PING option, a Check Route option, etc...), so poke
- around a little bit to find everything new.
-
- If you're using ODI drivers, the only change necessary is to bind an
- "Ethernet_II" frame to the board in NET.CFG.
-
- For example:
-
- Link Driver NE2000
- PORT 300
- INT 5
- MEM D0000
- FRAME Ethernet_802.3
- FRAME Ethernet_II
-
- If you're using Packet Drivers - there's no change necessary, just
- don't run the FTP kernel.
-
- The new stack can simultaneously support 100 open sockets, so you may
- want to change the "max_xmit_processes" option in XGATE.CFG to a higher
- number. The only reason why we've kept the "max_xmit_processes" option
- is because you still can't open more than 40 simultaneous sessions (by
- default) unless you raise the number of file handles in NET.CFG.
-
- 58. XGATE now stops scanning for outbound MHS mail if the SMTP outbound
- mail queue has reached 250 messages. This needed to be done because
- a NetWare job queue can only hold 255 messages. If another job is
- posted after 255 messages are queued, the queue rolls over to zero
- messages and all previous jobs are lost.
-
- 59. When the number of queued outbound SMTP messages exceeds 20, the "MailQ"
- display now starts to blink.
-
- 60. XGATE now resolves its own host name without querying the name servers.
- (Like why hadn't it done this before?)
-
- 61. XSMTP will now accept an inbound SMTP message with a null "MAIL FROM:<>"
- field instead of generating a 501 Syntax Error. Null "MAIL FROM:" fields
- are permissible under RFC-821 when the intent is to keep error messages
- (and other types of notifications) from generating error messages. A null
- RCPT FROM: field technically won't stop XGATE from returning an error
- though - because it still just simply hands all inbound messages to MHS
- and if MHS wants to generate an error, XGATE doesn't question it.
-
- 62. Added a new command line switch, -M, which forces MHS-mode only. This
- is now needed if for some reason you want to split XGATE across two
- computers - one for SMTP (uses the -S switch) and one for MHS (using the
- new -M switch). Previously you could just not load the FTP kernel on the
- computer that would only do the MHS message conversion engine and since
- XGATE wouldn't see the FTP kernel it wouldn't load XSMTP - but now XGATE
- will try to run its own TCP/IP stack with XSMTP if it sees an ODI driver
- or a Packet Driver (which covers a lot of normal driver configurations)
- so we needed a new switch to explicitly tell XGATE not to load the TCP/IP
- stack. If this doesn't make any sense - don't lose sleep. Its mainly
- for debugging purposes.
-
- 63. The old use of the -I command line switch (to service SMTP process from
- within the MS-DOS function dispatcher) has been renamed to -P. The -I
- switch is now used to enable ICMP messages within the XSMTP monitor.
-
- 64. When returning a -Maiser- error message to an SMTP user, the address
- the message is sent to is now based on what was passed to XGATE at the
- RFC-821 (mailer level) "MAIL From:" field when XGATE first received the
- original message. Previously, XGATE would always use what was passed
- in the MHS "Send-To:" header field, which MHS would have constructed
- based on what was in the "Sender:" field of the problem message. Well
- sometimes a SMTP message has a Sender: field for a different reason, so
- we couldn't just set the Sender: field with the RFC-821 "MAIL From:"
- field. So what we're doing now is saving what was passed as the RFC-821
- "MAIL From:" value as a separate X-SMTP-Envelope-From: field in the MHS
- message, and using it for the return address if the message is an error
- report from -Mailser-.
-
- In SMTP non-delivery notices are usually detected and handled at the
- RFC-821 level (the handshaking that occurs between SMTP's), not at the
- RFC-822 level where the message header is processed. By consuming some
- extra disk I/O and CPU utilization, SMTP processes running in the back-
- ground could validate users before saying "250 <....> Recipient OK.
- But that would only work for users on the local MHS host, so this is
- what we ended up with. The reason for the change is that sometimes the
- RFC-821 "MAIL From:" address is different than the RFC-822 "Sender:",
- especially in the case of when a message comes from a list server. In
- this case, its important that non-delivery notifications go back to
- the RFC-821 "MAIL From:", so that the delivery error won't get echoed
- to everyone on the list server (cause a lot of list servers don't set
- the RFC-822 "Sender:" field to an error mailbox).
-
- 65. MHS message processing is now handled as a process like individual SMTP
- processes are. This means that while the XSMTP monitor is active, MHS
- scanning and processing will now still occur. As a result, the automatic
- timeout where the XSMTP monitor would return to the MHS activity screen
- after 15 minutes of inactivity has now been disabled.
-
- 66. MHS gateway activity now has its own scroll-back buffer. This means the
- "scroll-back_lines" parameter in XGATE.CFG to define XSMTP's scroll-back
- buffer had to be renamed to support another one for MHS. So now there's
- two scroll-back fields in XGATE.CFG:
-
- mhs_scrollback_lines 50 ;MHS Activity scroll back lines.
- smtp_scrollback_lines 100 ;SMTP Monitor scroll back lines.
-
- 67. A new XGATE.CFG option, PING, allows a host to be PING'd on a recurring
- basis. This could be useful if your access to the Internet is through
- a dial-in link that disconnects after a period of inactivity, and you
- want something to generate recurring traffic through the link so that
- the inactivity timeout won't occur.
-
- The format of the PING command is:
-
- PING <ip_address> [minutes]
-
- The ip_address is the host you want to Ping. Minutes is the number of
- minutes inbetween Ping's generated. If it isn't given, a value of 1 is
- assumed.
-
- Ping activity generated by this option won't show in XSMTP's monitor
- unless XGATE is started with the -I (ICMP) command line switch.
-
- Only one PING command can be active in XGATE.CFG.
-
- 68. The NATIVE_SMF71 option in XGATE.CFG can now be enabled even if NETDIR.TAB
- indicates a SMF version older than 71. This allows raw SMTP addressing
- (raw = without an MHS extended address) to work when XGATE is used with
- a message router that supports domain or hint routing but isn't a SMF-71
- router.
-
- 69. The -P command line switch (change #64) has been permamently retired.
- Its functionality is now built-in (per change #66).
-
- 70. XGATE no longer logs itself in as a job server when it starts. Instead,
- either a valid user with the proper SMTP queue privileges must already be
- logged in when XGATE is started or, a user name (and optional password)
- can now be specified on the command line.
-
- When XGATE is quit, it now no longer logs itself out either.
-
- So this is now basically pretty close to the same way you start up MHS.
-
- To grant the right SMTP queue privileges to an existing user account,
- XGATE's Setup program now has an option to do that.
-
- The advantage of switching to this approach is that you can now stick
- XGATE out on a file server volume without going through the previous
- headaches (and such things as print mappings will now remain in place).
-
- If you still want XGATE to do the login for you, you can now specify a
- user name (and optional password) as parameters on XGATE's command line
- and it will attempt to login as that user when starting up.
-
- For example:
-
- XGATE xgate[,password]
-
- If the user account has a password assigned, then it must be expressed
- on the command line - XGATE will not prompt for it.
-
- (Command line switches may be located either in front of or in back of
- the login name or password.)
-
- 71. NSLookups launched as part of a Telnet/25 or Ping process are no longer
- verbose unless the -N switch is used at startup.
-
-
- 72. Free'd up about 40K of memory by consolidating a couple buffers.
-
- 73. The <Tab> key now works to rotate between the Gateway Activities screen
- and the SMTP Monitor.
-
- 74. When decoding a uuencoded block of text, XGATE no longer considers a
- truncated line to be an error (a line that has fewer characters before
- the Cairrage Return than what the 1st control character indicated should
- be there). Instead, XGATE now assumes that the remaining characters were
- trailing spaces that had been removed by a text editor (some Unix editors
- have this "feature").
-
- 75. Added a new option in XGATE.CFG (static_reply_address=Y|N) that allows
- an alternate reply address format of "gateway @ workgroup {smtp_address}".
- If mail is addressed to an SMTP user with XGATE's gateway name in the
- user name position, and the workgroup name in its normal position, MHS
- will still route the message just fine to XGATE. If you'd prefer to use
- this style of addressing (or find its easier to describe to MHS users),
- try enabling the "static_reply_address" option.
-